#include "../third/include/aip-cpp-sdk-4.16.7/speech.h"
#include "logger.hpp"


namespace zzy_mims
{

class ASRClient
{
public:
    using ptr = std::shared_ptr<ASRClient>;
    ASRClient(const std::string& app_id,const std::string& api_key,const std::string& secret_key)
    :_client(app_id, api_key, secret_key)
    {};
    std::string recognize(const std::string& voidce_data,std::string& err)
    {
        Json::Value result = _client.recognize(voidce_data, "pcm", 16000, aip::null);
        if(result["err_no"].asInt()!=0)
        {
            LOG_ERROR("语音识别错误:{}\n",result["err_msg"].asString());
            err = result["err_msg"].asString();
            return std::string();
        }
        return result["result"][0].asString();
    }

private:
    aip::Speech _client;
};
}